package com.esun.service.service;

import com.esun.api.request.DatabaseLogRequestDto;
import com.esun.api.request.OperationLogRequestDto;
import com.esun.api.response.DatabaseLogResponseDto;

import java.util.List;

import com.github.pagehelper.PageInfo;
import org.apache.poi.ss.usermodel.Workbook;

/**
 * (DatabaseLog)表服务接口
 *
 * @author baron.wubo
 * @since 2021-10-13 10:39:43
 */
public interface DatabaseLogService {

    /**
     * 按实体类分页查询多条数据
     *
     * @param requestDto    请求实体
     * @param sortParamList 排序参数列表
     * @param sortList      排序列表
     * @return 对象列表
     */
    PageInfo<DatabaseLogResponseDto> getDatabaseLogByPage(DatabaseLogRequestDto requestDto);

    /**
     * 查询日志未解决总数
     * @return
     */
    DatabaseLogResponseDto getLogErrorTotal();

    /**
     * 批量新增数据
     *
     * @param requestDtoList 实例对象列表
     * @return 实例对象列表
     */
    List<DatabaseLogResponseDto> addDatabaseLog(List<DatabaseLogRequestDto> requestDtoList);


    /**
     * 批量修改数据
     *
     * @param requestDtoList 请求实体列表
     * @return 实例对象列表
     */
    List<DatabaseLogResponseDto> updateDatabaseLog(List<DatabaseLogRequestDto> requestDtoList);


    /**
     * 通过实体类批量删除数据
     *
     * @param requestDtoList 请求实体列表
     * @return 实例对象列表
     */
    List<DatabaseLogResponseDto> deleteDatabaseLog(List<DatabaseLogRequestDto> requestDtoList);

    /**
     * 通过Excel导入DataType
     *
     * @param workbook 解析后的Excel文件
     * @return 实列列表
     */
    List<DatabaseLogResponseDto> importDatabaseLog(Workbook workbook);

    /**
     * 通过Excel导入DataType
     *
     * @param requestDto DataType请求实体
     */
    void exportDatabaseLog(DatabaseLogRequestDto requestDto);

    /**
     * 下载模板
     *
     * @param path 模板路径
     */
    void downloadTemplate(String path);


}
